package plp.prolog.declaration;

import java.util.ArrayList;

import plp.prolog.memory.AmbienteExecucaoProlog;

public class ExpressaoAnd extends ExpressaoComposta {

	public ExpressaoAnd(ArrayList<Fato> listaFatos) {
		super(listaFatos);
	}

	@Override
	public boolean avaliar(AmbienteExecucaoProlog ambienteExecucao) {
		boolean resultado = true;
		
		for (Fato f : listaFatos){
			boolean resultadoPrevio = f.avaliar(ambienteExecucao);
			resultado = ( resultado && resultadoPrevio);
		}
		
		return resultado;
	}
}
